package com.bkhech.boot.configure.security.core.authority;

/**
 * Security 框架 Service 接口，
 * 自定义权限相关的校验操作
 *
 * @author guowm
 * @date 2023/2/2
 */
public interface SecurityFrameworkService {
    /**
     * 判断是否有权限
     *
     * @param permission 权限
     * @return 是否
     */
    boolean hasPermission(String permission);

    /**
     * 判断是否有权限，任意一个即可
     *
     * @param permissions 权限
     * @return 是否
     */
    boolean hasAnyPermissions(String... permissions);

    /**
     * 判断是否有角色
     * 角色标识
     *
     * @param role 角色
     * @return 是否
     */
    boolean hasRole(String role);

    /**
     * 判断是否有角色，任一一个即可
     *
     * @param roles 角色数组
     * @return 是否
     */
    boolean hasAnyRoles(String... roles);
}
